class Dog:
    # 类属性
    # 定义在类的里面，方法的外面，不需要使用self来定义
    # name = '小白'  #类属性
    def __init__(self,name='小白'):
        self.name = name
        self.set_age(12)
    @classmethod
    def set_age(cls, age):
        cls.age = age
    def showInfo(self):
        print(f"狗的名字是{self.name},年龄是{self.age}")
# 类属性如何调用   类名.属性名  注意：类名不需要添加小括号
# 类属性如何修改   类名.属性名=值
"""
类属性和成员属性的区别：
创建方式：
   类属性：    在类里面方法外，    直接创建跟普通变量一样(不需要self)
   成员属性:   在类中的方法里面    需要self来定义 
调用方式：
   类属性：   类名.属性名
   成员属性:  对象名.属性名
修改方式：
    类属性：   类名.属性名=值
    成员属性:  对象名.属性名=值
"""
Dog.set_age(33) # 类名.方法名 直接调用类方法
dog1 = Dog()
# dog1.set_name("小白")
#dog1.set_age(12)  # 可以用对象名.类方法名()
dog1.showInfo()
# print(Dog.name)
# Dog.name='小黑'
# print(Dog.name)
